In the prior art, when touch is detected or data is ready, a touch screen controller will issue an interrupt request to a host. In an interrupt event a processor needs to conduct overhead processes (such as context switching) before and after performing the real task at hand. If, in every data acquired, there are a large number of interrupt events, this will waste processor/host resources. In a situation where the processor is still handling higher priority processes, an interrupt from the touch screen controller might be ignored. Ignoring interrupts may cause some data points to be lost, since the touch screen controller is waiting for commands from the processor, while the touch location might have moved in the meantime. A method to reduce the number of interrupts and, at the same time, acquire point data even if the processor is busy is desired.
Referring now to FIG. 1, a block diagram of a prior art touch detect system 100 is shown. Touch detect system includes a touch panel 102 having outputs coupled to a touch detection block 104 and a data acquisition block 106. The output of the touch detection block is received by a controller and communication block 110, which is in communication with data acquisition block 106. The controller and communication block 110 is also in communication with the interrupt block 108. A host 112 has input coupled to an output from the interrupt block 108, and also in communication with the host 112.
In the event of touch-detection, controller 110 issues an interrupt signal to host 112 and waits for the next command—whether to acquire data or ignore the touch. Once an “Acquire Data” command is given by host 112, controller 110 instructs data acquisition block 106 to acquire the data. When the data is ready, again controller 110 issues an interrupt signal to host 112 to read the data.
In other prior art systems, when touch is detected, controller 110 issues an interrupt signal as well as acquires the data at the same time. Once data is ready, another interrupt is issued. Touch detection interrupt (first interrupt) is to inform host 112 that touch is detected and to prepare the host to read the data when the second interrupt is coming.
In the prior art system shown in FIG. 1, where the data is automatically acquired when touch is detected, if the host 112 is busy during the issuance of a data ready interrupt, the current data will be overwritten by the next data. Hence, some of the touch points may be lost. Every time a data is ready, an interrupt is issued and host 112 needs to establish communication with the device to read the data
What is desired, therefore, is a touch screen system in which interrupts to the controller are minimized while the ability to acquire all point data is preserved.